1. Field of the Invention
The present invention relates generally to snapshots of data, and more particularly to systems and methods for establishing transitive, distributed snapshots among plural data storage volumes.
2. Description of the Related Art
A snapshot of data at a time “t” creates, in a target data volume, a logical copy of data in a source data volume. Physical copying of the data from the source volume to the target volume can then subsequently take place, with any intervening changes (“writes”) to data in the source volume being momentarily delayed while the original version of the data sought to be changed is preferentially copied from the source volume to the target volume, prior to writing the change. Thus, the snapshot of data in the target volume represents the exact state of the data in the source volume at the time “t”.
Snapshots as defined above are useful for backing up data and for testing. For example, taking a snapshot of frequently changing data facilitates the execution of Y2K test applications against the snapshot of the data, without the test application execution being unduly interfered with by changes to the data. Moreover, the snapshot mechanism facilitates faster data backups by a storage subsystem as compared to file system-based backups, which entail host CPU processing and which require the allocation of relatively high network bandwidth.
As recognized herein, existing snapshot systems are unduly restrictive. Most, for instance, permit write access only to the source volume in order to coordinate data in the system. Further, the limitations of existing snapshot systems prohibit the undertaking of concurrent snapshots or of distributed snapshots, and they do not support cyclical and transitive snapshot operations. As understood herein, concurrent snapshots, distributed snapshots, and cyclical and transitive snapshot operations can be very useful for test purposes. Moreover, because existing systems fail to account for the above-recognized considerations, the cost of reads and writes in existing snapshot systems in the case of multiple storage volumes that are involved in multiple concurrent snapshot operations is not optimized.
The present invention has carefully considered the above problems and has provided the solution set forth herein.